package com.yckj.dao;

/**
 * @Classname UserDao
 * @Description TODO
 * @Copyright:Copyright(c) 2021
 * @Company 英才汇硕信息科技有限公司
 * @Author zhang
 * @Version 1.0
 * @Date 2023/1/1 16:55
 */

import com.yckj.utils.DbUtilHikari;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import cn.hutool.crypto.SecureUtil;
public class UserDao {




        /**
         * 用户注册
         * @param uname 用户名
         * @param upsw 密码
         * @return 注册成功返回1，否则返回0
         */
        public int insertUser(String uname,String upsw) {
            // 1. 声明一些变量备用
            // conn代表数据库连接
            Connection conn = null;
            // 预编译对象，用pstmt执行SQL语句
            PreparedStatement pstmt = null;
            // 注册成功与否的标志，如果是0注册失败；如果1注册成功
            int flag = 0;

            // 2. 获取连接
            conn = DbUtilHikari.getConnection();
            // 3. 定义并准备SQL语句
            String sql = "INSERT INTO users(username,userpsw) VALUES(?,?)";
            try {
                pstmt = conn.prepareStatement(sql);
                //4. 给?赋值
                pstmt.setString(1,uname);
                pstmt.setString(2,SecureUtil.md5(upsw));
                // 5. 执行SQL语句（下达执行指令）
                flag = pstmt.executeUpdate();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            } finally {
                // 6. 关闭数据库资源
                DbUtilHikari.close(pstmt,conn);
            }
            return flag;
        }
    }


